﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
////函数模版
////template<typename T>  //声明一个模版 告诉编译器后面的代码中紧跟这的T不要报错，T是一个普通的函数类型
//void test()
//{
//	cout << "test 函数调用" << endl;
//}
//
//void my_swap(int& a, int& b)
//{
//	int temp = a;
//	a = b;
//	b = temp;
//}
//void my_swap2(double& a, double& b)
//{
//	double temp = a;
//	a = b;
//	b = temp;
//}
////template <class T>
//
//int main()
//{
//	int a = 10;
//	int b = 20;
//	//my_swap(a, b);
//	//使用模版有两种方式
//	//1.自动类型推导
//	//2.显示指定类型
//	test();
//	cout << "a = " << a << endl;
//	cout << "b = " << b << endl;
//	//显示类型推导
//	//Swap<int>(a, b);
//
//	//double c = 6.50;
//	//double d = 2.50;
//	//my_swap2(c, d);
//	//cout << "c = " << c << endl;
//	//cout << "d = " << d << endl;
//	//my_swap3(a, b);
//	return 0;
//}
